package dao;

import java.util.ArrayList;
import java.util.List;

import entities.Bestelling;
import entities.Klant;

public class KlantDaoMock implements KlantDao {
	private static KlantDaoMock instance;
	private List<Klant> klanten;

	private KlantDaoMock() {
		klanten = new ArrayList<Klant>();
	}

	public static KlantDaoMock getInstance() {
		if (instance == null) {
			instance = new KlantDaoMock();
		}
		return instance;
	}

	@Override
	public boolean addKlant(Klant klant) {
		if (klant != null) {
			klanten.add(klant);
			return true;
		}
		return false;
	}

	@Override
	public Klant getKlant(int id) {
		if (klanten.size() - 1 >= id) {
			return klanten.get(id);
		}
		return new Klant();
	}

	@Override
	public Bestelling getBestellingVanKlant(int klantId, int bestellingId) {
		for (Klant k : klanten) {
			if (k.getKlantNr() == klantId) {
				for (Bestelling b : k.getBestellingen()) {
					if (b.getId() == bestellingId) {
						return b;
					}
				}
			}
		}
		return null;
	}

	@Override
	public Klant getKlant(String naam) {
		for (Klant k : klanten) {
			if (k.getNaam().equals(naam)) {
				return k;
			}
		}
		return null;
	}

	@Override
	public boolean addBestelling(Bestelling bestelling) {
		for (Klant k : klanten) {
			if (bestelling.getKlant().getKlantNr() == k.getKlantNr()) {
				k.addBestelling(bestelling);
				return true;
			}
		}
		return false;
	}

	@Override
	public List<Klant> getKlanten() {
		return klanten;
	}

	@Override
	public void updateKlantMetBestellingen(Klant klant) {
		// TODO Auto-generated method stub

	}

}
